Embedded systems are used in a wide variety of applications from simple control applications to complex real-time systems. Such a system commonly comprises of a processor board and several peripheral boards that are stacked above the processor board, with a parallel bus provided from the processor board to the peripheral boards through a stack of interconnecting connectors on the boards. The processor board may be called a single-board computer or SBC for short. Each peripheral board can provide a wide variety of functions, ranging from data acquisition, signal generation, control circuitry, computation circuitry, data storage, communication, and other types of specialized circuitry. Embedded systems often need to be rugged, and board-to-board communications need to be fast. If the parallel bus used to convey data to and from the processor board and the peripheral boards has the least number of signals it might be less likely to fail and may have fast throughput which might be a desired characteristic in some systems. Additionally, it may be preferable for a system to maintain electrical connectivity despite vibrations encountered by the system. A system with fewer pins might be more likely to maintain this connectivity because fewer pins may lead to a lower probability of failure of any of the pins.
As part of making their inventions, the inventors have recognized that embedded-system applications will require buses with greater speed and throughput but fewer signals than those provided by present buses used in embedded systems, and that such buses will need to serve larger numbers of peripheral boards. Parallel bus structures may require many signals to make board-to-board connections. This may lead to a reduction in system reliability due to reduced signal integrity and an increased number of mechanical connections. Additionally, many systems may have bandwidth constraints as multiple peripheral boards consume, or “dirty,” the available bandwidth in parallel bus connections. This may limit the number of devices that can be placed on the bus, which effectively limits the systems' expandability. In addition, parallel buses may not allow peripheral boards to be installed and removed while the system is operating. In other words, many parallel buses do not support “hot-pluggable” boards.